﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using SIPO.Library.DomainObject.Administration.Catalog;
using SIPO.Library.DataAccess.Administration.Catalog;
using System.Configuration;
using SIPO.Web.Support;
using SIPO.Library.DomainObject.Administration.UserManagement;

namespace SIPO.Web.Forms.Administration.Catalog
{

   public partial class recActionform : BasePage
   {
       private int id = -1;

       protected override void OnLoad(EventArgs e)
       {

           if (Request.Params["id"] != null)
           {
               id = Convert.ToInt32(Request.Params["id"]);
           }

           if (!Page.IsPostBack)
           {
               if (id > 0) // Edit an existing item
               {
                   recActionRepo recActionDal = new recActionRepo(ConfigurationManager.ConnectionStrings["SIPOConn"].ConnectionString);
                   recAction recAction = recActionDal.GetById(id);
                   if (recAction != null)
                   {
                       hfID.Value = id.ToString();
                       txtCode.Text = recAction.ActionCode;
                       txtName.Text = recAction.ActionName;
                       txtRemarks.Text = recAction.Remarks;
                       txtCode.ReadOnly = true;
                   }
               }
               GetPrivilege();
           }

       }

       private void GetPrivilege()
       {
           Membership membership = new Membership(ConfigurationManager.ConnectionStrings["SIPOConn"].ConnectionString);

           List<recAccessRights.AccessRights> accessRights = membership.GetAccessRights(base.UserID, base.MenuID);

           accessRights.ForEach(delegate(recAccessRights.AccessRights access)
           {
               switch (access)
               {
                   case (recAccessRights.AccessRights.View):
                       ClientScript.RegisterStartupScript(typeof(Page), "view", "$('#btnSave').button('disable');", true);
                       break;
                   case (recAccessRights.AccessRights.Add):
                       ClientScript.RegisterStartupScript(typeof(Page), "add", "$('#btnSave').button('enable');", true);
                       break;
                   case (recAccessRights.AccessRights.Edit):
                       ClientScript.RegisterStartupScript(typeof(Page), "edit", "$('#btnSave').button('enable');", true);
                       break;
                   case (recAccessRights.AccessRights.NoAccess):
                       var url = Helper.GetAppVirtualPath(Page);
                       ClientScript.RegisterStartupScript(typeof(Page), "noAccess", "alert('Anda tidak mempunyai hak akses ke halaman ini!'); window.location = '" + url + "'", true);
                       break;
               }
           });

       }
            
    }
}
